# 激活码要具有唯一性，还要有一定的复杂性和无规律性
# 假设激活码由10个字符组成：字符随机包括大小写字母和数字
'''
解法一：
随机生成不重复的10位数字当验证码
1.建立空列表pwds
2.双层循环生成随机激活码
  第一层，循环200次，生成200个随机数
  第二层，循环十次，每次随机产生一个数，并进行字符串拼接，拼接成激活码，并判断是否在pwds中，如果在则重新生成，否则添加到pwds中，继续循环
3.打印pwds列表


i = 0
j = 0
pwds = []
while i < 200:
    pwd = ''
    while j < 10:
        pwd = pwd+str(range(0,10))
        j = j+1
    if pwd not in pwds:
        pwds.append(pwd)
        i = i+1
    else:
        continue
print(pwds)
'''


'''
解法二：参考网上进行理解
调用外部函数，进行字符串生成，并拼接起来
'''

import random
import string


code = string.ascii_letters + string.digits
print(code)

#获取随机生成的4位字符串
def getCode():
    return "".join(random.sample(code, 4))
print(getCode())


#获取4列4位激活码 以"—"串联起来
def key(group):
    return "—".join([getCode() for i in range(group)])
print(key(4))


#获取200组激活码  每组4列4位
def keys(n):
    return "\n".join([key(4) for i in range(n)])

print(keys(200))


